Adaptive remote control

ABSTRACT

A remote control that receives state information from an associated media device is disclosed. The remote control, in response to receiving data indicating that the media device is in a content state, may update an input assembly to indicate that the assembly may be used to perform a movement function. The remote control may instruct the media device to perform a movement function in response to a selection gesture, where the degree of movement is a single unit. In response to a swipe gesture, the remote control may instruct the media device to perform a linear movement with a greater degree of movement. Buttons and functions of the remote control may be further adapted in response to a menu-based state, or other states of the media device.

BACKGROUND

A typical remote control is a device including a potentially largenumber of buttons arranged in various patterns. The buttons may becolored or labeled according to their function. An arrangement ofbuttons sometimes referred to as a “control pad” or “d-pad” may be usedfor a variety of functions that are context-dependent, such asnavigating menus. Because the remote control may be used for a varietyof functions, the colors and labels convey little information. These andother shortcomings are addressed by the disclosure.

SUMMARY

Disclosed herein are systems, methods, and computer program productsrelated to a remote control that receives state information from a mediadevice and utilizes dynamically configurable input, e.g., button,assemblies to provide input and output mechanisms customized to thecurrent state of the media device. A media device, such as a set-topbox, smart phone or television, can transition between various states,including the states of playing linear or time-shifted content such asmovies or television programs, providing page-based content such asprogram listings or configuration menus, or being in an inactive sleepmode. In one aspect, a media controller transmits information concerningits current state to the remote control. In response to the media devicechanging its current state, the remote control updates its buttons(e.g., soft keys, or other input mechanisms) with graphical indicia andother information relevant to the current state of the media device. Theremote control may also effectuate a change to the function of eachbutton, based on the change of the media device's current state.

In another aspect, the remote control includes a plurality of inputassemblies that can be graphically reconfigured. Furthermore, the buttonassemblies contain input mechanisms that support a variety of possiblemeans of interacting with the button, in addition to the traditional“press” gesture. For example, an instance of an input assembly caninclude a lens, an electronic ink layer, a capacitive touch layer, andan additional element to provide a tactile feedback, such as a switch orhaptic feedback component. The lens is shaped to provide a desired feelfor the button, and may be colored to improve the appearance andorganization of the remote control. The lens may also optically enhancethe output of the electronic ink layer. The remote control, uponreceiving updated state information from the media device, causes theelectronic ink layer of the input assembly to display graphical indiciathat is relevant to the current state of the media device and thecurrent function of the button. The capacitive touch layer of the inputassembly captures input from the user. A variety of gestures, such aspress and swipe gestures, may be detected.

In another aspect, the remote control may respond to different gesturesbased upon the current state of the media device. When the media deviceis playing back content, such as a movie or television program, theremote control might respond to a selection gesture, e.g. a pressgesture by causing the media device to perform a relatively smallforwards or backwards movement in the movie or television program. Inresponse to a swipe gesture, the remote control might cause the contentto move forwards or backwards for a relatively large amount of time.When the media device is displaying page or menu-based content, such asa directory listing or configuration menu, the remote control mayrespond to a selection gesture by issuing a command to move forward asingle page, and to a swipe gesture by issuing a command to move forwarda number of pages.

Additional advantages will be set forth in part in the description thatfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations listed in theappended claims. Both the foregoing general description and thefollowing detailed description are exemplary and explanatory only.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated in and constitute a part ofthis specification. Together with the description, the drawings mayserve to explain operational principles of various methods, systems,computer-readable media, and computer program products disclosed herein.For the purposes of illustration, various examples of aspects of thedisclosure are shown in the drawings; however, the invention is notlimited to the specific methods and instrumentalities disclosed.

FIG. 1 is a block diagram depicting a remote control and media device.

FIG. 2A is a block diagram depicting adjustment of remote controliconography for a content consumption state.

FIG. 2B is a block diagram depicting adjustment of remote controliconography for a menu-based state.

FIG. 2C is a block diagram depicting adjustment of remote controliconography for an inactive state.

FIG. 3 depicts input gestures that may be detected by a remote control.

FIG. 4A depicts an example embodiment of an input assembly.

FIG. 4B depicts an example embodiment of an input assembly.

FIG. 4C depicts an example embodiment of an input assembly.

FIG. 5 is a flow diagram depicting an example of a process forcontrolling a media device.

FIG. 6 is a flow diagram depicting an example of a process forcontrolling a media device.

FIG. 7 is a flow diagram depicting an example of a process forcontrolling a media device.

FIG. 8 is a block diagram depicting various aspects of a computingenvironment in which aspects of the present disclosure may be practiced.

DETAILED DESCRIPTION

The disclosed systems, methods, and computer program products provide aremote control device that is adaptive to the current state of a mediadevice. The adaptations include changes to graphical indicia displayedon buttons included in a remote control device, and changes to thefunctions performed by interacting with the buttons. An input assemblyincluding an electronic ink layer, a capacitive touch layer, and afeedback component displays updated graphical indicia and supports avariety of input methods. An example of an adaptive remote controldevice may include a transmitter that receives data indicative of acurrent state of a media device. The media device may, for example, bein a content state while playing back a movie or television program. Theremote control device, based on receiving the data indicating that themedia device is in a content state, updates the iconography of a buttonto indicate that the button can be used to perform a movement function,such as fast-forwarding or skipping to a next chapter. In response tothe button being pressed by a user, the remote sends instructions to themedia device indicating that it should perform the movement function,with a single unit of movement. In response to the button being swipedby the user, the remote control device sends instructions indicatingthat the media device should perform a movement function over a numberof units of movement. The number of units, or some other parameter ofthe function, may be proportional to some property of the swipe, such asits length or intensity.

The remote control device may be similarly adapted when the media deviceis in a page-based state, which could, for example, be when the mediadevice is displaying a directory listing or a configuration menu. Theremote control causes a button to display updated graphical indicia thatis indicative of a next-page function. In response to a user pressingthe button, the remote control device may, for example, issueinstructions to the media device to perform a single-page movementfunction. In response to the user swiping the button, the remote controldevice may, for example, issue instructions to the media device toperform a page movement function over multiple pages.

FIG. 1 is a block diagram depicting a remote control and media device. Aremote control 100 may comprise a control pad 102 configured to providean adaptive control mechanism for a media device 108. The control pad102 may comprise an arrangement of input (e.g., button) assemblies 104.Typically, control pad 102 may comprise a central input assembly, ofinput assemblies 104, surrounded by additional button assemblies at eachof the four compass points. This arrangement is, however, only one ofnumerous possible arrangements of input assemblies 104 within controlpad 102. A remote control 100 may contain button assemblies in additionto those incorporated into control pad 102, as well as other buttons orinput/output mechanisms.

The remote control 100 may comprise a receiver/transmitter 106 forcommunicating with media device 108. The receiver/transmitter 106 maycomprise various mechanisms for receiving data from media device 108 andfor transmitting data to media device 108. Various communicationsmechanisms may be employed. Example mechanisms include BLUETOOTH, WI-FI,and other radio-frequency transmission methods, various opticaltransmission methods, such as infrared, and so on. In some instances,separate receiver and transmitter components may be employed. If so,separate communication methods for receiving and transmitting data maybe used. Accordingly, the depiction in FIG. 1 of receiver/transmitter106 as a single component should not be viewed as limiting the scope ofthe present disclosure. Various combinations of hardware and/or softwarecomponents may be used to enable data communication between remotecontrol 100 and media device 108.

Information sharing 116 involves media device 108 communicating datapertaining to the media device 108's current state to remote control100. In various instances, information sharing 116 may involve periodictransmissions (e.g., broadcasts) of state information from media device108 to remote control 100. Media device 108 may broadcast the stateinformation on an ongoing basis, without necessarily being aware of thestate of remote control 100, or other remote controls that might bewithin range of the transmission or might otherwise be accessible. Forexample, remote control 100 might be in a sleep state or power-off statewhile media device 108 is periodically broadcasting state information.The period of the transmissions may be based on minimizing delay thatmight be perceived by the user of remote control 100 when the remote isactivated. Media device 108 might also transmit state information inresponse to a change of state, or in response to a request from remotecontrol 100 to transmit information.

Information sharing 116 may also, in various instances, involvetransmission of various forms of graphical indicia and textual data. Thegraphical indicia and textual data may be used to adapt remote control100 to the state of media device 108. For example, remote control 100may receive graphical indicia, such as a network logo or an image, takenfrom a television program that is scheduled to be recorded. Remotecontrol 100 might then update an input assembly to display the indicia.In another instance, remote control 100 might receive graphical indiciacorresponding to the next chapter of content or the next page of apage-based menu. Remote control 100 could update an input assembly withthe graphical indicia. Interaction with the updated input assembly, suchas a swipe or other gesture, could result in remote control 100 sendinginstructions to media device 108 to advance to the next chapter or page.

A media device 108 may include hardware and software components forcontrolling media-related functions of one or more output devices (notshown). Examples of output devices include television screens and audiospeakers. A media device 108 may include hardware and/or softwarecomponents for receiving, playing back, or generating media contents.Example hardware and/or software components may include components forreceiving audiovisual information from a content provider orbroadcaster, CD or DVD drives, graphics cards, and so on. Examples of amedia device 108 include cable set-top boxes, televisions, gamingconsoles, receivers, and so forth.

The media device 108 may be associated with a current state. In anembodiment, the media device 108 may be associated with one or morestates such as a content state 110, a menu or page-based state 112, oran inactive state 114. In the content state 110, the media device may bepresenting content transmitted by any method, such as broadcast,multicast or unicast, and may be linear or time-shifted. Embodimentsmay, however, include additional or alternative state associations. Insome cases, media device 108 may be associated, at any one time, withmultiple states.

Embodiments may associate media device 108 with a content state 110 whenmedia device 108 is performing a function related to the display,playback, production, or reproduction of media content. For example,media device 108 may be associated with a content state 110 when it isplaying a movie or audio recording. On the other hand, an embodimentmight associate media device 108 with some other state when the playingof the movie or audio recording is paused. An embodiment might, forexample, associate media device 108 with a paused state (not shown) whenthe movie or audio recording has been paused.

The media device 108 transmits data indicative of its current state toremote control 100. The data is received by receiver/transmitter 106 ofremote control 100. Remote control 100 may then adjust input assemblies104 to adapt functionality of control pad 102 to the playback state.

Embodiments may associate media device 108 with a menu or page-basedstate 112 when the media device 108 is, for example, displaying aprogram listing, guidebook, or other page-based display. The mediadevice 108 transmits data indicative of the menu or page-based state 112to remote control 100, via receiver/transmitter 106. Remote control 100may then adjust input assemblies 104 to adapt functionality of controlpad 102 to the program listing, guidebook, or other page-based display.

The media device 108 may enter an inactive state 114 when, for example,it is placed in standby mode or is displaying a screen saver. The mediadevice 108 may transmit data indicative of the inactive state 114 toremote control 100, so that the input assemblies 104 of control pad 102may be updated to reflect the inactive state 114.

FIG. 2A is a block diagram depicting adjustment of a control padiconography for a content state. A control pad 204 can include a numberof button assemblies, such as input assembly 206. In response toreceiving data indicating that media device 200 is playing content 202,a remote control (not shown) comprising control pad 204 may causecontrol pad 204 to display updated iconography indicative of functionsthat might be triggered while media device 200 is in a content state,e.g., during playback of a movie. The updated iconography could, forexample, include a “fast forward” icon, as may be seen in FIG. 2A forinput assembly 206.

FIG. 2B is a block diagram depicting adjustment of control padiconography for a page-based state. The media device 200 may bedisplaying menu or page-based content 212, such as a directory listingor menu. The media device 200 may transmit information indicating thatit is in this state to the remote control (not shown) comprising controlpad 204. The remote control may then update the iconography of controlpad 204 to reflect the page-based state. For example, the remote controlmight cause input assembly 206 to display iconography indicating thatthe button may be used to perform a next-page function on media device200.

FIG. 2C is a block diagram depicting adjustment of control padiconography for an inactive state. The media device 200 may, forexample, be in a sleep state and displaying inactive content 214, suchas a blank screen or screen saver. The control pad 204 may be updatedwith iconography corresponding to the inactive state of media device200. For example, input assembly 206 might be updated with iconographyindicative of a default action, such as waking media device 200 from theinactive state.

FIG. 3 depicts input gestures that may be detected by an input assembly.The three gestures depicted in FIG. 3 are intended to be illustrative,and should not be viewed as limiting. An input assembly 306 may beconfigured to detect a variety of gestures. A selection gesture 300 maybe performed by a user in a manner similar to depressing a button. Aswipe gesture 302 may be a linear movement in any direction, such asleft, right, up, or down. A J-shaped gesture 304 may be a primarilylinear gesture with a curved end, and may be similar to the letter “J.”The J-shaped gesture 304 may be performed in any orientation, and thecurved portion of the gesture may be oriented in a variety of waysrelative to the linear portion. Other possible gestures include, but arenot limited to gestures made with two or more fingers andproximity-based gestures such as drawing away from or approaching theinput assembly.

The selection gesture 300 may be used to perform functions on a mediadevice, such as media device 108, that are associated with the currentstate of media device 108. In a time-shifted content mode, theassociated function may, for example, be associated with activating thefast forward button. When media device 108 is in a menu or page-basedstate 112, selection gesture 300 may result in a next page functionbeing performed on media device 108, where the degree of movement is onepage. When media device 108 is in an inactive state 114, selectiongesture 300 may result in a wake function (not shown) being performed onmedia device 108.

FIG. 4A depicts an example embodiment of an input assembly. An inputassembly 400 may comprise a lens 406, a capacitive touch layer 408, andan electronic ink layer 410 affixed to supports 402 and 404. A switch412 may be mounted on mounting surface 414. Supports 402 and 404 may becoupled to mounting surface 414 in a manner that allows the sub-assemblyof lens 406, capacitive touch layer 408, and electronic ink layer 410to, when pressed by a user (not shown), to activate switch 412.

Examples of coupling supports 402 and 404 to mounting surface 414 mayinclude drilled holes or cavities in mounting surface 414. Springs,elastics, pneumatic structures, and the like may be used to return thesub-assembly of lens 406, capacitive touch layer 408, and electronic inklayer 410, affixed to supports 402 and 404, to return to a defaultposition after the sub-assembly has been pressed.

The lens 406, capacitive touch layer 408, and electronic ink layer 410can be affixed to supports 402 and 404 through various mechanisms, suchas adhesives, screws, interlocking structures, and so forth.

Although FIG. 4A depicts supports 402 and 404 as two separatestructures, in various instances more or fewer structures may be used.For example, a single structure might wrap wholly or partially aroundlens 406, capacitive touch layer 408, and electronic ink layer 410.

A lens 406 may be a clear or translucent material, such as glass ortranslucent plastic. The lens 406 can provide a magnifying effect or mayotherwise be configured to provide a user of remote control 100 with aclearer view of iconography displayed by electronic ink layer 410. Thelens 406 can be colored to indicate a general category of functionality,while remaining sufficiently translucent to allow the display of theelectronic ink layer 410 to remain visible. Lens 406 may, in variousinstances, have a convex or concave curvature or may be flat. Opticalproperties of the lens may be selected to maintain visibility ofelectronic ink layer 410 while possessing a desired tactile feel. Forexample, embodiments might incorporate concave lenses for certain groupsof buttons while making others convex. Selection on this basis may allowfor improved usability by enabling a user to more easily feel for thecorrect button without looking at the remote control 100.

In some instances, the shape of lens 406 may be adapted to gestures thatmay be input using the input assembly. For example, lens 406 might beelongated for receiving swipe gestures, or enlarged for receiving morecomplex gestures, such as the J-shaped gesture 304 depicted in FIG. 3.

A capacitive touch layer 408 provides touch-sensing capabilities inresponse to user interaction with input assembly 400. The interactionmay comprise the user touching or coming near to lens 406 with a fingeror stylus (not shown) and performing various gestures, such as thosedepicted in FIG. 3. Various forms of circuitry (not shown) may connectoutput from capacitive touch layer 408 to other components of remotecontrol 100. The communication mechanism may, for example, comprisecircuitry connecting capacitive touch layer 408 to an input/outputcontroller, such as the input/output controller 832 depicted in FIG. 8.A processor included in remote control 100, such as the CPU(s) 804 andGPU(s) 805 depicted in FIG. 8, may access data from capacitive touchlayer 408 using the input/output controller.

An electronic ink layer 410 comprises a mechanism for displayinggraphical indicia. The electronic ink layer 410 may operate in alow-power or no-power state. Examples of electronic ink layer 410 mayinclude electrophoretic ink displays and other types of “electronicpaper” that continue to display images in low-power and no-power states.In some instances, other display types could be used, including liquidcrystal displays (“LCDs”) or light emitting diodes (“LEDs”). Theelectronic ink layer 410 may be communicatively coupled to a processorof remote control 100, using a communication mechanism similar to thatdescribed with respect to capacitive touch layer 408. By using thecommunication mechanism, a processor of remote control 100 may causeelectronic ink layer 410 to display graphical indicia that correspondsto a state of media device 108.

In some embodiments, switch 412 may include a spring, elastic, orpneumatic structure to cause the sub-assembly to return to a defaultposition. In some cases, switch 412 may be configured to provide tactilefeedback in relation to a selection gesture. In some instances,capacitive touch layer 408 may detect a selection gesture while switch412 provides tactile feedback.

FIG. 4B depicts an example embodiment of an input assembly. An inputassembly 430 may comprise a lens 436, a capacitive touch layer 438, andelectronic ink layer 440 affixed to supports 432 and 434. The capacitivetouch layer 438 and electronic ink layer 440 may be communicativelycoupled to a processor of remote control 100, using the communicationmechanism discussed in conjunction with FIG. 4A.

Supports 432 and 434 may be affixed to mounting surface 444. Rather thanrelying on a switch, the input assembly 430 may utilize capacitive touchlayer 438 for detecting selection gestures, e.g. press gestures, and ahaptic feedback unit 442 for providing tactile feedback. Supports 432and 434, in contrast to the supports 402 and 404 depicted in FIG. 4A,may be fixed to mounting surface 444 without being configured to allowmovement.

In some instances, haptic feedback unit 442 may be housed within aremote control, such as the remote control 100 depicted in FIG. 1, andmay provide haptic feedback for a number of button assemblies. In otherinstances, haptic feedback unit 442 may comprise part of input assembly430, and may provide haptic feedback related to user interactions withinput assembly 430.

Haptic feedback unit 442 may comprise a motor, electrostatic actuator,audio actuator, electrovibration unit, or other device for inducingmovement, vibrations, or audio feedback. In some instances, hapticfeedback unit 442 may provide haptic feedback localized to a particularinput assembly, such as input assembly 430, even when haptic feedbackunit 442 is associated with more than one input assembly.

FIG. 4C depicts an additional example embodiment of an input assembly.The configuration depicted in FIG. 4C involves an array of lenses, suchas the depicted lenses 466 and 468, attached to supports 460, 462, and464. Each lens may be seen as corresponding to an input assembly, albeitwith components that are shared with other button assemblies.Embodiments may utilize a two-dimensional array of lens structuresembedded in support structures. For example, a control pad configurationsimilar to control pad 102 might be constructed from an array of fivelenses superimposed over layers comprising a capacitive touch layer andan electronic ink layer.

The lenses 466 and 468 may be superimposed over a capacitive touch layer470, an electronic ink layer 472, and a mounting surface 474. As may beseen in FIG. 4C, the array of lenses 466 and 468 may share a capacitivetouch layer 470 and an electronic ink layer 472. These may be fixed tomounting surface 474. A haptic feedback unit 476 may be employed tosimulate interaction with a physical device (not shown), in the mannerdescribed in conjunction with the haptic feedback unit 442 depicted inFIG. 4B.

In various embodiments, including embodiments similar to those depictedin FIGS. 4A-4C, a mounting surface, such as the mounting surface 474depicted in FIG. 4C, may be omitted or reconfigured. For example, ratherthan being mounted on a horizontally positioned mounting surface 474,capacitive touch layer 470 and electronic ink layer 472 may be mountedto a vertical support surface, such as the supports 460 and 464 depictedin FIG. 4C.

In some instances, such as the example embodiment depicted in FIG. 4C,multiple lenses, such as lenses 466 and 468, may be superimposed over asingle capacitive touch layer 470 and electronic ink layer 472. In suchinstances, a processor of remote 100 may cause graphical indicia, suchas an icon, to be displayed in a correct location under, for example,lens 466 or lens 468. The processor may, for example, divide theelectronic ink layer 472 into quadrants or sectors, where each quadrantor sector is under a lens, such as lenses 466 or 468. The processor maythen cause an icon to be displayed in a quadrant or sector, where theicon corresponds to the function of the input assembly.

In some instances, the functions related to capacitive touch sensing anddisplay technology might be combined into a single layer. For example,an electronic ink display might be integrated with capacitive touchsensing capabilities. It might also be the case that the positioning ofthe electronic ink layer and capacitive touch layer might beinterchanged.

In some instances, other touch-sensing mechanisms may be substituted forcapacitive touch. As used herein, the term “gesture sensing layer” maybe used to refer to a layer of an input assembly that providestouch-sensing or gesture-sensing capabilities, including capacitivetouch and other examples such as touch-sensing based on infrared,optical imaging, acoustic pulse recognition, and piezoelectrictechnologies, provided that they function in conjunctions with thepresence of a lens or a lens-shaped structure. Because of theinterposition of the lens, a gesture-sensing technology that functionsbased on proximity, rather than direct contact, may be used when a lensis interposed between the gesture-sensing layer and the exterior of theinput assembly. In some instances, however, a capacitive touch layer maybe combined with a lens. For example, referring back to FIG. 4A, lens406 and capacitive touch layer 408 might be combined into a single unit.The outward-facing surface of the unit may be concave or convex, such asthe outward-facing convex surface of lens 406, depicted in FIG. 4A.

In some instances, other display technologies may be substituted forelectronic ink. In one example, a light guide film may be used for theelectronic ink layer 408 depicted in FIG. 4A. In another example, aclear film of printed light-emitting diodes may be affixed to capacitivetouch layer 408 or lens 406. Alternatively, a layer of light-emittingdiodes may be printed directly onto capacitive touch layer 408 or lens406. Placement of the layer of printed light-emitting diodes may beguided by the translucency of the layer. In some instances, the film mayhave sufficient translucence to allow placement between lens 406 andcapacitive touch layer 408, including being printed directly on thesurface of capacitive touch layer 408.

FIG. 5 is a flow diagram depicting an example of a process forcontrolling a media device. The scenario to which FIG. 5 relatesinvolves a media device, such as the media device 108 depicted in FIG.1, being in a content state, e.g. playing back video and/or audiocontent. Although FIG. 5 is depicted as a sequence of blocks, thedepicted sequence should not be construed as limiting the scope of thepresent disclosure. In various cases, aspects, and embodiments, theblocks and depicted operations may be altered, omitted, reordered, orperformed in parallel.

At block 500, a remote control, such as the remote control 100 depictedin FIG. 1, receives data indicating that a media device, such as mediadevice 108 is in a content presenting state. A content state may includeplayback, display, or other performance of audio or video content,including movies, music, television programs, and the like. In someinstances, content can include interactive content, such as video games.For example, a video game that is being played might be treated ascontent that may be rewound to view a previously experienced portion ofgameplay, or forwarded through the previously experienced portion ofgameplay.

At block 502, remote control 100 updates a display layer of an inputassembly to indicate that the button may be used to perform a movementfunction. The input assembly may, for example, be one of the buttonsassociated with control pad 102 in FIG. 1. The display layer might referto an electronic ink layer incorporated into an input assembly, such asthe electronic ink layer 410 in FIG. 4A, for example. The display may beupdated by causing the electronic ink layer 410 to display graphicalindicia that is suggestive of a movement function, such as an arrow ordouble-arrow symbol. FIG. 2A contains examples of such graphicalindicia.

At block 504, remote control 100 receives data indicating that acapacitive touch layer of the input assembly has detected movementcorresponding to a selection gesture, such as the selection gesture 300depicted in FIG. 3. The movement may, in some instances, be detected bythe capacitive touch layer. The movements may be analyzed by a processorof remote control 100 to determine that they correspond to a selectiongesture. In some embodiments, such as those incorporating the switch 412depicted in FIG. 4A, a selection gesture may be detected based on switch412 being depressed, rather than through capacitive touch layer 408.

At block 506, remote control 100 causes a transmitter to sendinstructions to the media device to perform a movement function, inresponse to the detected selection gesture. The degree of movement forthe gesture may be a single unit. In various cases, a unit mightcorrespond to some unit of time, a scene of a movie, a song, and soforth.

At block 508, remote control 100 receives information indicating thatthe input assembly's capacitive touch layer has detected movementcorresponding to a swipe gesture, such as the swipe gesture 302 depictedin FIG. 3. The movement may be detected by the capacitive touch layerand analyzed by a processor of remote control 100 to determine that theycorrespond to a swipe gesture.

At block 510, remote control 100 causes its transmitter to send data tothe media device instructing it to perform a movement function, wherethe degree of movement, or some other parameter of the function, isproportional to one or more properties of the swipe gesture, such as theswipe's length, speed, and pressure. For example, in response to arelatively short swipe gesture, the instructions may correspond to twoor three units of movement, while a relatively long swipe gesture mightcorrespond to ten or twenty units. It will be appreciated that theseexamples are intended only to be illustrative, and should not be viewedas limiting the scope of the present disclosure.

FIG. 6 is a flow diagram depicting an additional example of a processfor controlling a media device. FIG. 6 involves a scenario in which amedia device is in a page-based state. For example, a media may be in apage-based state when it is displaying a program listing, a series ofmenus, or other similar content in which a user typically “pages”through the content. Although depicted as a sequence of blocks, thedepicted sequence should not be construed as limiting the scope of thepresent disclosure. In various cases, aspects, and embodiments, theblocks and depicted operations may be altered, omitted, reordered, orperformed in parallel.

At block 600, the remote 100 receives data from media device 108indicating that the media device 100 is displaying page-based content,and accordingly is in a page-based state. The page-based state indicatesthat the media controller is in a state in which it can accept inputrelative to a menu, program listing, or other feature that has apage-based navigation mechanism. Other examples include photo albums,song collections, and configuration options.

At block 602, the remote 100 updates a display layer of an inputassembly to indicate that the button may be used to perform a pagemovement function. Graphical indicia similar to those depicted in FIG.2B may be used. It will be appreciated, however, that these examples areintended only to be illustrative, and should not be viewed as limitingthe scope of the present disclosure. In some instances, the iconographymay be customized based on a more precise categorization of the contentto be navigated. For example, the iconography depicted in FIG. 2B mightbe replaced with a page-turn icon, or even an animation, when thecorresponding media device is displaying a user manual, photo album, orother content that could be analogized to a book.

At block 604, remote control 100 receives information indicating thatmovement corresponding to a selection gesture has been detected by thecapacitive touch layer of the input assembly. In response to receivingthe information, remote control 100 sends instructions to the mediadevice 108, instructing it to perform a single-page movement.

At block 606, remote control 100 receives information indicating thatthe capacitive touch layer has detected movement corresponding to aswipe gesture. In response to receiving the information, remote control100 causes its transmitter to send data instructing the media device toperform a page movement function, where the degree of movement isproportional to a property of the swipe gesture. A relatively shortswipe, for example, could correspond to moving two or three pages, whilea relatively long swipe could correspond to moving ten or twenty pages,or to the next chapter. These examples are intended only to beillustrative, and should not be viewed as limiting.

FIG. 7 is a flow diagram depicting a further example of a process forcontrolling a media device. FIG. 7 involves a scenario in which a mediadevice is in an inactive state, such as when the media device is in astandby state or a sleep state. FIG. 7 also involves waking the devicefrom a sleep state and entering profile information through the use ofan input assembly. Although depicted as a sequence of blocks, thedepicted sequence should not be construed as limiting the scope of thepresent disclosure. In various cases, aspects, and embodiments, theblocks and depicted operations may be altered, omitted, reordered, orperformed in parallel.

At block 700, remote control 100 receives data indicating that the mediadevice 108 is in an inactive state. The inactive state may correspond toa standby state, screen-saver mode, or other state in which a mediadevice, such as media device 108, is not displaying material for whichother control categories (such as those associated with content or menupages) would be applicable.

At block 702, remote control 100 responds to the data received at block700 by displaying graphical indicia on an input assembly of remote 100.The graphical indicia may be an icon or other graphic indicating thatthe media device 108 is in an inactive state. One example is depicted inFIG. 2C. In some instances, the graphical indicia may be indicative ofan upcoming event on the media device, or an event that has transpired.For example, an input assembly might be updated with graphicscorresponding to the next television program the media device isscheduled to record. Upon user interaction with the input assembly, theremote control 100 may send instructions that cause the media device 108to display information about the recording schedule. If the televisionprogram has already been recorded, interaction with the input assemblymay cause remote control 100 to instruct media device 108 to beginplaying back the recorded program.

At block 704, remote control 100 receives information indicative of aswipe pattern detected by the capacitive touch layer of an inputassembly on the remote control 100. The data may, as depicted by block706, be processed and transmitted to the media device 108, which may usethe data to determine a user of remote control 100 that is associatedwith the swipe pattern. The media device 100 may have access to a set ofprofile information for users of the remote, and may identify profileinformation associated with a specific swipe gesture. At block 708,remote control 100 receives an indication of graphical indicia todisplay on one or more button assemblies of remote control 100, wherethe graphical indicia were selected based at least in part on the user'sprofile information associated with the swipe pattern. For example,remote control 100 might comprise a set of buttons that could be updatedto display icons corresponding to the detected user's favorite programs.In some instances, the media device 108 transmits the graphical indiciato the remote control 100 in response to accessing the profileinformation. In other instances, the graphical indicia are maintained onremote control 100. The media device 108 may, in such instances,transmit profile information to remote control 100 upon determining theidentity of the user and retrieving the profile information. The remotecontrol 100 may then select a graphical indicia that is associated withthe profile information.

FIG. 8 depicts a computing device that may be used in various aspects,such as the remote control 100 depicted in FIG. 1. The computerarchitecture shown in FIG. 8 illustrates a computing device adapted toprovide remote control functionality. This may include a remote controldevice, home automation system, desktop computer, laptop, tablet,network appliance, e-readers, smartphone, or other computing device, andmay be utilized to execute any aspects of the computers describedherein, such as to implement the operating procedures of FIGS. 5, 6, and7.

Computing device 800 may include a baseboard, or “motherboard,” which isa printed circuit board to which a multitude of components or devicesmay be connected by way of a system bus or other electricalcommunication paths. One or more central processing units (CPUs) 804 mayoperate in conjunction with a chipset 806. CPU(s) 804 may be standardprogrammable processors that perform arithmetic and logical operationsnecessary for the operation of computing device 800.

CPU(s) 804 may perform the necessary operations by transitioning fromone discrete physical state to the next through the manipulation ofswitching elements that differentiate between and change these states.Switching elements may generally include electronic circuits thatmaintain one of two binary states, such as flip-flops, and electroniccircuits that provide an output state based on the logical combinationof the states of one or more other switching elements, such as logicgates. These basic switching elements may be combined to create morecomplex logic circuits including registers, adders-subtractors,arithmetic logic units, floating-point units, and the like.

CPU(s) 804 may, in various embodiments, be augmented with or replaced byother processing units, such as GPU(s) 805. GPU(s) 805 may compriseprocessing units specialized for but not necessarily limited to highlyparallel computations, such as graphics and other visualization-relatedprocessing.

Chipset 806 may provide an interface between CPU(s) 804 and theremainder of the components and devices on the baseboard. Chipset 806may provide an interface to a random access memory (RAM) 808 used as themain memory in computing device 800. Chipset 806 may further provide aninterface to a computer-readable storage medium, such as a read-onlymemory (ROM) 820 or non-volatile RAM (NVRAM) (not shown), for storingbasic routines that may help to start up computing device 800 and totransfer information between the various components and devices. ROM 820or NVRAM may also store other software components necessary for theoperation of computing device 800 in accordance with the aspectsdescribed herein.

Computing device 800 may operate in a networked environment usinglogical connections to remote computing nodes and computer systemsthrough local area network (LAN) 816. Chipset 806 may includefunctionality for providing network connectivity through a networkinterface controller (NIC) 822, such as a gigabit Ethernet adapter. NIC822 may be capable of connecting the computing device 800 to othercomputing nodes over network 816. It should be appreciated that multipleNICs 822 may be present in computing device 800, connecting thecomputing device to other types of networks and remote computer systems.

Computing device 800 may be connected to a mass storage device 828 thatprovides non-volatile storage for the computing device 800. Mass storagedevice 828 may store system programs, application programs, otherprogram modules, and data, which have been described in greater detailherein. Mass storage device 828 may be connected to computing device 800through a storage controller 824 connected to chipset 806. Mass storagedevice 828 may consist of one or more physical storage units. Storagecontroller 824 may interface with the physical storage units through aserial attached SCSI (SAS) interface, a serial advanced technologyattachment (SATA) interface, a fiber channel (FC) interface, or othertype of interface for physically connecting and transferring databetween computers and physical storage units.

Computing device 800 may store data on mass storage device 828 bytransforming the physical state of the physical storage units to reflectthe information being stored. The specific transformation of a physicalstate may depend on various factors and on different implementations ofthis description. Examples of such factors may include, but are notlimited to, the technology used to implement the physical storage unitsand whether mass storage device 828 is characterized as primary orsecondary storage and the like.

For example, computing device 800 may store information to mass storagedevice 828 by issuing instructions through storage controller 824 toalter the magnetic characteristics of a particular location within amagnetic disk drive unit, the reflective or refractive characteristicsof a particular location in an optical storage unit, or the electricalcharacteristics of a particular capacitor, transistor, or other discretecomponent in a solid-state storage unit. Other transformations ofphysical media are possible without departing from the scope and spiritof the present description, with the foregoing examples provided only tofacilitate this description. Computing device 800 may further readinformation from mass storage device 828 by detecting the physicalstates or characteristics of one or more particular locations within thephysical storage units.

In addition to mass storage device 828 described above, computing device800 may have access to other computer-readable storage media to storeand retrieve information, such as program modules, data structures, orother data. It should be appreciated by those skilled in the art thatcomputer-readable storage media may be any available media that providesfor the storage of non-transitory data and that may be accessed bycomputing device 800.

By way of example and not limitation, computer-readable storage mediamay include volatile and non-volatile, transitory computer-readablestorage media and non-transitory computer-readable storage media, andremovable and non-removable media implemented in any method ortechnology. Computer-readable storage media includes, but is not limitedto, RAM, ROM, erasable programmable ROM (“EPROM”), electrically erasableprogrammable ROM (“EEPROM”), flash memory or other solid-state memorytechnology, compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”),high definition DVD (“HD-DVD”), BLU-RAY, or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage, other magneticstorage devices, or any other medium that can be used to store thedesired information in a non-transitory fashion.

Mass storage device 828 may store an operating system utilized tocontrol the operation of the computing device 800. According to oneembodiment, the operating system comprises a version of the LINUXoperating system. According to another embodiment, the operating systemcomprises a version of the WINDOWS SERVER operating system from theMICROSOFT Corporation. According to further aspects, the operatingsystem may comprise a version of the UNIX operating system. Variousmobile phone operating systems, such as IOS and ANDROID, may also beutilized in some embodiments. It should be appreciated that otheroperating systems may also be utilized. Mass storage device 828 maystore other system or application programs and data utilized bycomputing device 800.

Mass storage device 828 or other computer-readable storage media mayalso be encoded with computer-executable instructions, which, whenloaded into computing device 800, transforms the computing device from ageneral-purpose computing system into a special-purpose computer capableof implementing the aspects described herein. These computer-executableinstructions transform computing device 800 by specifying how CPU(s) 804transition between states, as described above. Computing device 800 mayhave access to computer-readable storage media storingcomputer-executable instructions, which, when executed by computingdevice 800, may perform operating procedures depicted in FIGS. 5-7.

A computing device 800 may also include an input/output controller 832for receiving and processing input from a number of input devices, suchas a keyboard, a mouse, a touchpad, a touch screen, an electronicstylus, or other type of input device. Similarly, input/outputcontroller 832 may provide output to a display, such as a computermonitor, a flat-panel display, a digital projector, a printer, aplotter, or other type of output device. It will be appreciated thatcomputing device 800 may not include all of the components shown in FIG.8, may include other components that are not explicitly shown in FIG. 8,or may utilize an architecture completely different than that shown inFIG. 8.

As described herein, a computing device may be a physical computingdevice, such as computing device 800 of FIG. 8. A computing node mayalso include a virtual machine host process and one or more virtualmachine instances. Computer-executable instructions may be executed bythe physical hardware of a computing device indirectly throughinterpretation and/or execution of instructions stored and executed inthe context of a virtual machine.

A receiver/transmitter 834 may be included in computing device 800 forcommunicating with a media device, such as the media device 108 depictedin FIG. 1. In some instances, receiver/transmitter 834 may be combinedwith other aspects of computing device 800, such as NIC 822. This may bethe case, for example, where communication with media device 108 occursusing a network. In other instances, receiver/transmitter 834 maycomprise means of receiving data through radio transmissions, infrared,or other communications media.

It is to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc., of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, operations in disclosed methods. Thus, if there are avariety of additional operations that can be performed it is understoodthat each of these additional operations can be performed with anyspecific embodiment or combination of embodiments of the disclosedmethods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and theirdescriptions.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedon a general-purpose computer, special-purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

The various features and processes described above may be usedindependently of one another, or may be combined in various ways. Allpossible combinations and sub-combinations are intended to fall withinthe scope of this disclosure. In addition, certain methods or processblocks may be omitted in some implementations. The methods and processesdescribed herein are also not limited to any particular sequence, andthe blocks or states relating thereto can be performed in othersequences that are appropriate. For example, described blocks or statesmay be performed in an order other than that specifically disclosed, ormultiple blocks or states may be combined in a single block or state.The example blocks or states may be performed in serial, in parallel, orin some other manner. Blocks or states may be added to or removed fromthe disclosed example embodiments. The example systems and componentsdescribed herein may be configured differently than described. Forexample, elements may be added to, removed from, or rearranged comparedto the disclosed example embodiments.

It will also be appreciated that various items are illustrated as beingstored in memory or on storage while being used, and that these items orportions thereof may be transferred between memory and other storagedevices for purposes of memory management and data integrity.Alternatively, in other embodiments, some or all of the software modulesand/or systems may execute in memory on another device and communicatewith the illustrated computing systems via inter-computer communication.Furthermore, in some embodiments, some or all of the systems and/ormodules may be implemented or provided in other ways, such as at leastpartially in firmware and/or hardware, including, but not limited to,one or more application-specific integrated circuits (“ASICs”), standardintegrated circuits, controllers (e.g., by executing appropriateinstructions, and including microcontrollers and/or embeddedcontrollers), field-programmable gate arrays (“FPGAs”), complexprogrammable logic devices (“CPLDs”), etc. Some or all of the modules,systems, and data structures may also be stored (e.g., as softwareinstructions or structured data) on a computer-readable medium, such asa hard disk, a memory, a network, or a portable media article to be readby an appropriate device or via an appropriate connection. The systems,modules, and data structures may also be transmitted as generated datasignals (e.g., as part of a carrier wave or other analog or digitalpropagated signal) on a variety of computer-readable transmission media,including wireless-based and wired/cable-based media, and may take avariety of forms (e.g., as part of a single or multiplexed analogsignal, or as multiple discrete digital packets or frames). Suchcomputer program products may also take other forms in otherembodiments. Accordingly, the present invention may be practiced withother computer system configurations.

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its operations beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its operations or it isnot otherwise specifically stated in the claims or descriptions that theoperations are to be limited to a specific order, it is no way intendedthat an order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; and the number ortype of embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit of the present disclosure. Other embodiments will beapparent to those skilled in the art from consideration of thespecification and practices disclosed herein. It is intended that thespecification and example figures be considered as exemplary only, witha true scope and spirit being indicated by the following claims.

What is claimed is:
 1. A device comprising: one or more processors; andmemory storing instructions that, when executed by the one or moreprocessors, cause the device to: determine, based on a first input, agesture performed in a first orientation on an icon; send, to a mediadevice, based on the gesture performed in the first orientation on theicon, a first indication of a function; determine, based on a secondinput, the gesture performed in a second orientation on the icon,wherein the second orientation is different than the first orientation;and send, to the media device, based on the gesture performed in thesecond orientation on the icon, a second indication of the function. 2.The device of claim 1, wherein the instructions, when executed by theone or more processors, further cause the device to: cause simulation ofa button press in response to the gesture; or cause simulation of aplurality of button selection gestures in response to the gesture. 3.The device of claim 1, wherein the instructions, when executed by theone or more processors, further cause the device to: receive, from themedia device, data upon waking from a sleep state, the data received ina periodic broadcast of state information associated with the mediadevice.
 4. The device of claim 3, wherein the instructions, whenexecuted by the one or more processors, further cause the device to:transmit a request for state information in response to entering a wakecycle.
 5. The device of claim 1, wherein the instructions, when executedby the one or more processors, further cause the device to: receive,from the media device, data indicating an inactive state of the mediadevice and graphical indicia corresponding to a next event on the mediadevice; and display the graphical indicia corresponding to the nextevent.
 6. The device of claim 1, further comprising: a gesture sensinglayer superimposed on one or more display layers.
 7. The device of claim1, wherein the instructions, when executed by the one or moreprocessors, further cause the device to: determine a second gesturebased on detection of the second gesture; transmit, to the media device,first data indicating the second gesture; receive, from the mediadevice, second data indicating a user profile associated with the secondgesture; and display a graphical indicia selected based at least in parton the second data.
 8. A method comprising: determining, based on afirst input, a gesture performed in a first orientation on an icon;sending, to a media device, based on the gesture performed in the firstorientation on the icon, a first indication of a function; determining,based on a second input, the gesture performed in a second orientationon the icon, wherein the second orientation is different than the firstorientation; and sending, to the media device, based on the gestureperformed in the second orientation on the icon, a second indication ofthe function.
 9. The method of claim 8, wherein a gesture sensing layerthat is part of an input assembly comprising a display layer performs atleast one of: the determining, based on the first input, the gestureperformed in the first orientation on the icon, or the determining,based on the second input, the gesture performed in the secondorientation on the icon, wherein the second orientation is differentthan the first orientation.
 10. The method of claim 9, furthercomprising: maintaining an image in at least one of a low-power state ora no-power state.
 11. The method of claim 8, further comprising:receiving, from the media device, data indicating an inactive state ofthe media device; and causing display of a graphic indicating a defaultfunction.
 12. The method of claim 8, further comprising: receiving, fromthe media device, information indicating a graphical indiciacorresponding to an upcoming event on the media device; and causingdisplay of the graphical indicia corresponding to the upcoming event.13. The method of claim 8, further comprising: receiving, from the mediadevice, a graphical indicia corresponding to a chapter of content; andtransmitting, to the media device, information indicating selection ofplaying the chapter of content based at least in part on a thirdgesture.
 14. The device of claim 1, wherein the gesture comprises atleast one of a: a swipe gesture or a J-shaped gesture.
 15. The device ofclaim 14, wherein the gesture causes a greater degree of movementthrough content on the media device than a selection gesture.
 16. Themethod of claim 8, wherein the gesture comprises at least one of a: aswipe gesture or a J-shaped gesture.
 17. The method of claim 16, whereinthe gesture causes a greater degree of movement through content on themedia device than a selection gesture.
 18. A non-transitorycomputer-readable storage medium storing computer-readable instructionsthat, when executed by a processor, cause: determining, based on thefirst input, a gesture performed in a first orientation on an icon;sending, to a media device, based on the gesture performed in the firstorientation on the icon, a first indication of a function; determining,based on a second input, the gesture performed in a second orientationon the icon, wherein the second orientation is different than the firstorientation; and sending, to the media device, and based on the gestureperformed in the second orientation on the icon, a second indication ofthe function.
 19. The non-transitory computer-readable storage medium ofclaim 18, wherein the gesture comprises at least one of a: a swipegesture or a J-shaped gesture.
 20. The non-transitory computer-readablestorage medium of claim 19, wherein the gesture causes a greater degreeof movement through content on the media device than a selectiongesture.